package com.cx.controller;

import com.cx.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import javax.jws.WebParam;
import java.util.Date;

/**
 * @ClassName: ModelTest
 * @Description:
 * @Author: cx
 * @Date: 2022/10/20 4:29
 **/

@Controller
public class ModelTest {
    //需配置视图解析器
    //model主要操作的spring得bean对象，modelAndView操作的bean对象和视图
// 将这个请求跳转到success.jsp页面上并展示出来（使用El表达式进行展示）
    @RequestMapping("/modelTest02")
    public String ModelTest02(Model model) {
        User user = new User();
        user.setAge(21);
        user.setDate(new Date());
        user.setSex("男");
        model.addAttribute("user", user);
        return "success";
    }

    //在登录页面输入值后进行表单提交到这个方法，然后返回一个modelAndView，进入成功页面
    @RequestMapping("/modelTest03")
    public ModelAndView ModelTest03(User user) {
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.setViewName("success");
        modelAndView.addObject("user", user);
        System.out.println(1111);
        return modelAndView;
    }


    //转发 关键词为forward:/ 加转发地址或者请求
    //该方法是loggin.jsp中的一个请求转发，点击跳转到转发页面
    @RequestMapping("/modelTest04")
    public String testForward() {
        System.out.println("准备转发了");
        /*转发不仅可以转发到页面也可以转发到请求中
         * 如forward: /modelTest03*/
        return "forward:/static/forward.jsp";
        //return "forward:/test02";
    }


    //重定向
    @RequestMapping("/modelTest05")
    public String testRidi() {
        System.out.println("准备转发了");
        /*转发不仅可以转发到页面也可以转发到请求中
         * 如forward: /modelTest03*/
        return "forward:/static/forward.jsp";
        //return "forward:/test02";
    }

    //ajax请求
    // @ResponseBody 表示返回的类型是一个Json类型
    @RequestMapping(value = "testAjax")
    public @ResponseBody User testAjax(User user) {
        ModelAndView modelAndView = new ModelAndView();
        System.out.println(user);
        user.setUserName("无敌暴龙战士");
        return user;

    }

}
